
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<HTML>

<HEAD>
   <TITLE>rquad_c</TITLE>
</HEAD>

<BODY style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<A name="TOP"></A>

<table style="text-align: left; margin-left: auto; margin-right: auto; width: 800px;"
 border="0" cellpadding="5" cellspacing="2">
  <tbody>
    <tr>
      <td style="background-color: rgb(153, 153, 153); vertical-align: middle; text-align: center;">
      <div align="right"> 
      <small><small><a href="index.html">Index Page</a></small></small>
      </div>
      <b>rquad_c</b> </td>
    </tr>

    <tr>
      <td style="vertical-align: top;">

<small><div align="center">
<A HREF="index.html#A">A</A>&nbsp;
<A HREF="index.html#B">B</A>&nbsp;
<A HREF="index.html#C">C</A>&nbsp;
<A HREF="index.html#D">D</A>&nbsp;
<A HREF="index.html#E">E</A>&nbsp;
<A HREF="index.html#F">F</A>&nbsp;
<A HREF="index.html#G">G</A>&nbsp;
<A HREF="index.html#H">H</A>&nbsp;
<A HREF="index.html#I">I</A>&nbsp;
<A HREF="index.html#J">J</A>&nbsp;
<A HREF="index.html#K">K</A>&nbsp;
<A HREF="index.html#L">L</A>&nbsp;
<A HREF="index.html#M">M</A>&nbsp;
<A HREF="index.html#N">N</A>&nbsp;
<A HREF="index.html#O">O</A>&nbsp;
<A HREF="index.html#P">P</A>&nbsp;
<A HREF="index.html#Q">Q</A>&nbsp;
<A HREF="index.html#R">R</A>&nbsp;
<A HREF="index.html#S">S</A>&nbsp;
<A HREF="index.html#T">T</A>&nbsp;
<A HREF="index.html#U">U</A>&nbsp;
<A HREF="index.html#V">V</A>&nbsp;
<A HREF="index.html#W">W</A>&nbsp;
<A HREF="index.html#X">X</A>&nbsp;
</div></small>
       <br>
       <table style="text-align: left; width: 60%; margin-left: auto; margin-right: auto;"
       border="0" cellspacing="2" cellpadding="2">
        <tbody>
          <tr>
            <td style="width: 50%; text-align: center;">
            <small>
              <a href="#Procedure">Procedure<br></a>
              <a href="#Abstract">Abstract<br></a>
              <a href="#Required_Reading">Required_Reading<br></a>
              <a href="#Keywords">Keywords<br></a>
              <a href="#Brief_I/O">Brief_I/O<br></a>
              <a href="#Detailed_Input">Detailed_Input<br></a>

              </small>
              </td>
              <td style="vertical-align: top; width: 50%; text-align: center;">
              <small>               <a href="#Detailed_Output">Detailed_Output<br></a>
              <a href="#Parameters">Parameters<br></a>
              <a href="#Exceptions">Exceptions<br></a>
              <a href="#Files">Files<br></a>
              <a href="#Particulars">Particulars<br></a>
              <a href="#Examples">Examples<br></a>

              </small>
              </td>
              <td style="vertical-align: top; width: 50%; text-align: center;">
              <small>               <a href="#Restrictions">Restrictions<br></a>
              <a href="#Literature_References">Literature_References<br></a>
              <a href="#Author_and_Institution">Author_and_Institution<br></a>
              <a href="#Version">Version<br></a>
              <a href="#Index_Entries">Index_Entries<br></a>
             </small>
            </td>
          </tr>
        </tbody>
</table>

<h4><a name="Procedure">Procedure</a></h4>
<PRE>
   void rquad_c ( SpiceDouble  a,
                  SpiceDouble  b,
                  SpiceDouble  c,
                  SpiceDouble  root1[2],
                  SpiceDouble  root2[2] ) 

</PRE>
<h4><a name="Abstract">Abstract</a></h4>
<PRE>
 
   Find the roots of a quadratic equation. 
 </PRE>
<h4><a name="Required_Reading">Required_Reading</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Keywords">Keywords</a></h4>
<PRE>
 
   MATH 
   POLYNOMIAL 
   ROOT 
 

</PRE>
<h4><a name="Brief_I/O">Brief_I/O</a></h4>
<PRE>
 
   Variable  I/O  Description 
   --------  ---  -------------------------------------------------- 
 
   a          I   Coefficient of quadratic term. 
   b          I   Coefficient of linear term. 
   c          I   Constant. 
   root1      O   Root built from positive discriminant term. 
   root2      O   Root built from negative discriminant term. 
 </PRE>
<h4><a name="Detailed_Input">Detailed_Input</a></h4>
<PRE>
 
   a, 
   b, 
   c              are the coefficients of a quadratic polynomial 
 
                       2 
                     ax   +   bx   +   c. 
 </PRE>
<h4><a name="Detailed_Output">Detailed_Output</a></h4>
<PRE>
 
   root1, 
   root2         are the roots of the equation, 
 
                       2 
                     ax   +   bx   +   c   =  0. 
 
 
                 root1 and root2 are both arrays of length 2.  The 
                 first element of each array is the real part of a 
                 root; the second element contains the complex part 
                 of the same root. 
 
                 When a is non-zero, root1 represents the root 
 
                                  _____________ 
                                 /  2 
                    - b   +    \/  b    -   4ac 
                    --------------------------- 
                                  2a 
 
 
                 and root2 represents the root 
 
                                  _____________ 
                                 /  2 
                    - b   -    \/  b    -   4ac 
                    --------------------------- . 
                                  2a 
 
 
                 When a is zero and b is non-zero, root1 and root2 
                 both represent the root 
 
                    - c / b. 
 </PRE>
<h4><a name="Parameters">Parameters</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Exceptions">Exceptions</a></h4>
<PRE>
 
   1)   If the input coefficients a and b are both zero, the error 
        SPICE(DEGENERATECASE) is signalled.  The output arguments 
        are not modified. 
 </PRE>
<h4><a name="Files">Files</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Particulars">Particulars</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Examples">Examples</a></h4>
<PRE>
 
   1)   Humor us and suppose we want to compute the &quot;golden ratio.&quot; 
 
        The quantity r is defined by the equation 
 
           1/r = r/(1-r), 
 
        which is equivalent to 
 
            2 
           r   +  r  -  1  =  0. 
 
        The following code fragment does the job. 
 
 
           /.
           Compute &quot;golden ratio.&quot;  The root we want,
      
                      ___
                     /
              -1 + \/  5
              -----------,
                   2
      
      
           is contained in root1.
           ./
 
 
           <b>rquad_c</b> ( 1., 1., -1., root1, root2 ); 
 
           printf ( &quot;The \&quot;golden ratio\&quot; is %f\n&quot;, root1[0] ); 
 
 
   2)   The equation, 
 
            2 
           x   +  1  =  0 
 
        can be solved by the code fragment 
 
 
           /.
           Let's do one with imaginary roots just for fun. 
           ./

           <b>rquad_c</b> ( 1.,  0.,  1.,  root1,  root2 ); 

           printf ( &quot;root1 is %f   %f\n&quot;, root1[0], root1[1] ); 
           printf ( &quot;root2 is %f   %f\n&quot;, root2[0], root2[1] ); 

 
        The printed results will be something like: 
 
           root1 is 0.000000000000000   1.000000000000000 
           root2 is 0.000000000000000   -1.000000000000000 
 </PRE>
<h4><a name="Restrictions">Restrictions</a></h4>
<PRE>
 
   No checks for overflow of the roots are performed. 
 </PRE>
<h4><a name="Literature_References">Literature_References</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Author_and_Institution">Author_and_Institution</a></h4>
<PRE>
 
   N.J. Bachman   (JPL) 
 </PRE>
<h4><a name="Version">Version</a></h4>
<PRE>
 
   -CSPICE Version 1.0.0, 13-JUN-1999 (NJB)
</PRE>
<h4><a name="Index_Entries">Index_Entries</a></h4>
<PRE>
 
   roots of a quadratic equation 
 </PRE>
<h4>Link to routine rquad_c source file <a href='../../../src/cspice/rquad_c.c'>rquad_c.c</a> </h4>

      </td>
    </tr>
  </tbody>
</table>

   <pre>Wed Jun  9 13:05:29 2010</pre>

</body>
</html>

